From b848214f0d5722bf322731d863cb251f1cf180f8 Mon Sep 17 00:00:00 2001 From: "emellor@leeni.uk.xensource.com" Date: Thu, 15 Dec 2005 13:38:16 +0000 Subject: [PATCH] Put watch on device node only if probe was sucessful. This fix segfault on netfront when creating more than three network devices on domU. Signed-off-by: Murillo F. Bernardes --- .../drivers/xen/xenbus/xenbus_probe.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c index dac16ff4ab..ea09e35700 100644 --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c @@ -338,14 +338,6 @@ static int xenbus_dev_probe(struct device *_dev) DPRINTK(""); - err = talk_to_otherend(dev); - if (err) { - printk(KERN_WARNING - "xenbus_probe: talk_to_otherend on %s failed.\n", - dev->nodename); - return err; - } - if (!drv->probe) { err = -ENODEV; goto fail; @@ -361,6 +353,14 @@ static int xenbus_dev_probe(struct device *_dev) if (err) goto fail; + err = talk_to_otherend(dev); + if (err) { + printk(KERN_WARNING + "xenbus_probe: talk_to_otherend on %s failed.\n", + dev->nodename); + return err; + } + return 0; fail: xenbus_dev_error(dev, err, "xenbus_dev_probe on %s", dev->nodename); -- 2.30.2